home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / graphics / gnuplot / gnuplot-3.7.1doc / demo / prob2.dem < prev    next >
Text File  |  1999-11-29  |  10KB  |  358 lines

  1. #
  2. # $Id: prob2.dem,v 1.1.1.1.2.1 1999/10/11 13:24:36 lhecking Exp $
  3. #
  4. # Demo Statistical Approximations version 1.1
  5. #
  6. # Permission granted to distribute freely for non-commercial purposes only
  7. #
  8. # Copyright (c) 1991, Jos van der Woude, jvdwoude@hut.nl
  9.  
  10. pause  0 ""
  11. pause  0 ""
  12. pause  0 ""
  13. pause  0 ""
  14. pause  0 ""
  15. pause  0 ""
  16. pause  0 "                        Statistical Approximations, version 1.1"
  17. pause  0 ""
  18. pause  0 "        Copyright (c) 1991, 1992, Jos van de Woude, jvdwoude@hut.nl"
  19. pause  0 ""
  20. pause  0 ""
  21. pause  0 " Permission granted to distribute freely for non-commercial purposes only"
  22. pause  0 ""
  23. pause  0 ""
  24. pause  0 ""
  25. pause  0 ""
  26. pause  0 ""
  27. pause  0 ""
  28. pause  0 ""
  29. pause  0 ""
  30. pause  0 ""
  31. pause  0 "     NOTE: contains 10 plots and consequently takes some time to run"
  32. pause  0 "                      Press Ctrl-C to exit right now"
  33. pause  0 ""
  34. pause -1 "                      Press Return to start demo ..."
  35.  
  36. load "stat.inc"
  37.  
  38. # Binomial PDF using normal approximation
  39. n = 25; p = 0.15
  40. mu = n * p
  41. sigma = sqrt(n * p * (1.0 - p))
  42. xmin = floor(mu - 4.0 * sigma)
  43. xmin = xmin < 0 ? 0 : xmin
  44. xmax = ceil(mu + 4.0 * sigma)
  45. ymax = 1.1 * binom(mu) #mode of binomial PDF used
  46. xinc = ceil((xmax - xmin) / 10)
  47. xinc = xinc > 1 ? xinc : 1
  48. set key box
  49. set nozeroaxis
  50. set xrange [xmin - 1 : xmax + 1]
  51. set yrange [0 : ymax]
  52. set xlabel "k, x ->"
  53. set ylabel "probability density ->"
  54. set xtics xmin + 0.499, ceil(sigma), xmax
  55. set ytics 0, ymax / 10.0, ymax
  56. set format x "%2.0f"
  57. set format y "%3.2f"
  58. set sample 200
  59. set title "binomial PDF using normal approximation"
  60. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  61. set arrow from mu + 0.5, normal(mu + sigma) \
  62.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  63. set label "mu" at mu + 1, ymax / 10
  64. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  65. plot binom(x), normal(x - 0.5)
  66. pause -1 "Hit return to continue"
  67. set noarrow
  68. set nolabel
  69.  
  70. # Binomial PDF using poisson approximation
  71. n = 50; p = 0.1
  72. mu = n * p
  73. sigma = sqrt(mu)
  74. xmin = floor(mu - 4.0 * sigma)
  75. xmin = xmin < 0 ? 0 : xmin
  76. xmax = ceil(mu + 4.0 * sigma)
  77. ymax = 1.1 * binom(mu) #mode of binomial PDF used
  78. xinc = ceil((xmax - xmin) / 10)
  79. xinc = xinc > 1 ? xinc : 1
  80. set key box
  81. set nozeroaxis
  82. set xrange [xmin - 1 : xmax + 1]
  83. set yrange [0 : ymax]
  84. set xlabel "k ->"
  85. set ylabel "probability density ->"
  86. set xtics xmin + 0.499, ceil(sigma), xmax
  87. set ytics 0, ymax / 10.0, ymax
  88. set format x "%2.0f"
  89. set format y "%3.2f"
  90. set sample 200
  91. set title "binomial PDF using poisson approximation"
  92. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  93. set arrow from mu + 0.5, normal(mu + sigma) \
  94.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  95. set label "mu" at mu + 1, ymax / 10
  96. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  97. plot binom(x), poisson(x)
  98. pause -1 "Hit return to continue"
  99. set noarrow
  100. set nolabel
  101.  
  102. # Geometric PDF using gamma approximation
  103. p = 0.3
  104. mu = (1.0 - p) / p
  105. sigma = sqrt(mu / p)
  106. lambda = p
  107. rho = 1.0 - p
  108. xmin = floor(mu - 4.0 * sigma)
  109. xmin = xmin < 0 ? 0 : xmin
  110. xmax = ceil(mu + 4.0 * sigma)
  111. xinc = ceil((xmax - xmin) / 10)
  112. xinc = xinc > 1 ? xinc : 1
  113. ymax = 1.1 * p
  114. set key box
  115. set nozeroaxis
  116. set xrange [xmin - 1 : xmax + 1]
  117. set yrange [0 : ymax]
  118. set xlabel "k, x ->"
  119. set ylabel "probability density ->"
  120. set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
  121. set ytics 0, ymax / 10.0, ymax
  122. set format x "%2.0f"
  123. set format y "%3.2f"
  124. set sample 200
  125. set title "geometric PDF using gamma approximation"
  126. set arrow from mu + 0.5, 0 to mu + 0.5, g(mu) nohead
  127. set arrow from mu + 0.5, g(mu + sigma) \
  128.           to mu + 0.5 + sigma, g(mu + sigma) nohead
  129. set label "mu" at mu + 1, ymax / 10
  130. set label "sigma" at mu + 1 + sigma, g(mu + sigma)
  131. plot geometric(x), g(x - 0.5)
  132. pause -1 "Hit return to continue"
  133. set noarrow
  134. set nolabel
  135.  
  136. # Geometric PDF using normal approximation
  137. p = 0.3
  138. mu = (1.0 - p) / p
  139. sigma = sqrt(mu / p)
  140. xmin = floor(mu - 4.0 * sigma)
  141. xmin = xmin < 0 ? 0 : xmin
  142. xmax = ceil(mu + 4.0 * sigma)
  143. xinc = ceil((xmax - xmin) / 10)
  144. xinc = xinc > 1 ? xinc : 1
  145. ymax = 1.1 * p
  146. set key box
  147. set nozeroaxis
  148. set xrange [xmin - 1 : xmax + 1]
  149. set yrange [0 : ymax]
  150. set xlabel "k, x ->"
  151. set ylabel "probability density ->"
  152. set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
  153. set ytics 0, ymax / 10.0, ymax
  154. set format x "%2.0f"
  155. set format y "%3.2f"
  156. set sample 200
  157. set title "geometric PDF using normal approximation"
  158. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  159. set arrow from mu + 0.5, normal(mu + sigma) \
  160.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  161. set label "mu" at mu + 1, ymax / 10
  162. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  163. plot geometric(x), normal(x - 0.5)
  164. pause -1 "Hit return to continue"
  165. set noarrow
  166. set nolabel
  167.  
  168. # Hypergeometric PDF using binomial approximation
  169. nn = 75; mm = 25; n = 10
  170. p = real(mm) / nn
  171. mu = n * p
  172. sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p))
  173. xmin = floor(mu - 4.0 * sigma)
  174. xmin = xmin < 0 ? 0 : xmin
  175. xmax = ceil(mu + 4.0 * sigma)
  176. xinc = ceil((xmax - xmin) / 10)
  177. xinc = xinc > 1 ? xinc : 1
  178. ymax = 1.1 * hypgeo(mu) #mode of binom PDF used
  179. set key box
  180. set nozeroaxis
  181. set xrange [xmin - 1 : xmax + 1]
  182. set yrange [0 : ymax]
  183. set xlabel "k ->"
  184. set ylabel "probability density ->"
  185. set xtics xmin, xinc, xmax
  186. set ytics 0, ymax / 10.0, ymax
  187. set format x "%2.0f"
  188. set format y "%3.2f"
  189. set sample 200
  190. set title "hypergeometric PDF using binomial approximation"
  191. set arrow from mu + 0.5, 0 to mu + 0.5, binom(mu) nohead
  192. set arrow from mu + 0.5, binom(mu + sigma) \
  193.           to mu + 0.5 + sigma, binom(mu + sigma) nohead
  194. set label "mu" at mu + 1, ymax / 10
  195. set label "sigma" at mu + 1 + sigma, binom(mu + sigma)
  196. plot hypgeo(x), binom(x)
  197. pause -1 "Hit return to continue"
  198. set noarrow
  199. set nolabel
  200.  
  201. # Hypergeometric PDF using normal approximation
  202. nn = 75; mm = 25; n = 10
  203. p = real(mm) / nn
  204. mu = n * p
  205. sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p))
  206. xmin = floor(mu - 4.0 * sigma)
  207. xmin = xmin < 0 ? 0 : xmin
  208. xmax = ceil(mu + 4.0 * sigma)
  209. xinc = ceil((xmax - xmin) / 10)
  210. xinc = xinc > 1 ? xinc : 1
  211. ymax = 1.1 * hypgeo(mu) #mode of binom PDF used
  212. set key box
  213. set nozeroaxis
  214. set xrange [xmin - 1 : xmax + 1]
  215. set yrange [0 : ymax]
  216. set xlabel "k, x ->"
  217. set ylabel "probability density ->"
  218. set xtics xmin, xinc, xmax
  219. set ytics 0, ymax / 10.0, ymax
  220. set format x "%2.0f"
  221. set format y "%3.2f"
  222. set sample 200
  223. set title "hypergeometric PDF using normal approximation"
  224. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  225. set arrow from mu + 0.5, normal(mu + sigma) \
  226.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  227. set label "mu" at mu + 1, ymax / 10
  228. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  229. plot hypgeo(x), normal(x - 0.5)
  230. pause -1 "Hit return to continue"
  231. set noarrow
  232. set nolabel
  233.  
  234. # Negative binomial PDF using gamma approximation
  235. r = 8; p = 0.6
  236. mu = r * (1.0 - p) / p
  237. sigma = sqrt(mu / p)
  238. lambda = p
  239. rho = r * (1.0 - p)
  240. xmin = int(mu - 4.0 * sigma)
  241. xmin = xmin < 0 ? 0 : xmin
  242. xmax = int(mu + 4.0 * sigma)
  243. xinc = ceil((xmax - xmin) / 10)
  244. xinc = xinc > 1 ? xinc : 1
  245. ymax = 1.1 * g((rho - 1) / lambda) #mode of gamma PDF used
  246. set key box
  247. set nozeroaxis
  248. set xrange [xmin - 1 : xmax + 1]
  249. set yrange [0 : ymax]
  250. set xlabel "k, x ->"
  251. set ylabel "probability density ->"
  252. set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
  253. set ytics 0, ymax / 10.0, ymax
  254. set format x "%2.0f"
  255. set format y "%3.2f"
  256. set sample 200
  257. set title "negative binomial PDF using gamma approximation"
  258. set arrow from mu + 0.5, 0 to mu + 0.5, g(mu) nohead
  259. set arrow from mu + 0.5, g(mu + sigma) \
  260.           to mu + 0.5 + sigma, g(mu + sigma) nohead
  261. set label "mu" at mu + 1, ymax / 10
  262. set label "sigma" at mu + 1 + sigma, g(mu + sigma)
  263. plot negbin(x), g(x - 0.5)
  264. pause -1 "Hit return to continue"
  265. set noarrow
  266. set nolabel
  267.  
  268. # Negative binomial PDF using normal approximation
  269. r = 8; p = 0.4
  270. mu = r * (1.0 - p) / p
  271. sigma = sqrt(mu / p)
  272. xmin = floor(mu - 4.0 * sigma)
  273. xmin = xmin < 0 ? 0 : xmin
  274. xmax = ceil(mu + 4.0 * sigma)
  275. xinc = ceil((xmax - xmin) / 10)
  276. xinc = xinc > 1 ? xinc : 1
  277. ymax = 1.1 * negbin(mu - 1/p) #mode of gamma PDF used
  278. set key box
  279. set nozeroaxis
  280. set xrange [xmin - 1 : xmax + 1]
  281. set yrange [0 : ymax]
  282. set xlabel "k, x ->"
  283. set ylabel "probability density ->"
  284. set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
  285. set ytics 0, ymax / 10.0, ymax
  286. set format x "%2.0f"
  287. set format y "%3.2f"
  288. set sample 200
  289. set title "negative binomial PDF using normal approximation"
  290. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  291. set arrow from mu + 0.5, normal(mu + sigma) \
  292.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  293. set label "mu" at mu + 1, ymax / 10
  294. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  295. plot negbin(x), normal(x - 0.5)
  296. pause -1 "Hit return to continue"
  297. set noarrow
  298. set nolabel
  299.  
  300. # Normal PDF using logistic approximation
  301. mu = 1.0; sigma = 1.5
  302. a = mu
  303. lambda = pi / (sqrt(3.0) * sigma)
  304. xmin = mu - 4.0 * sigma
  305. xmax = mu + 4.0 * sigma
  306. ymax = 1.1 * logistic(mu) #mode of logistic PDF used
  307. set key box
  308. set nozeroaxis
  309. set xrange [xmin: xmax]
  310. set yrange [0 : ymax]
  311. set xlabel "x ->"
  312. set ylabel "probability density ->"
  313. set xtics xmin, (xmax - xmin)/ 10.0, xmax
  314. set ytics 0, ymax / 10.0, ymax
  315. set format x "%.1f"
  316. set format y "%.2f"
  317. set sample 200
  318. set title "normal PDF using logistic approximation"
  319. set arrow from mu,0 to mu, normal(mu) nohead
  320. set arrow from mu, normal(mu + sigma) \
  321.           to mu + sigma, normal(mu + sigma) nohead
  322. set label "mu" at mu + 1, ymax / 10
  323. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  324. plot logistic(x), normal(x)
  325. pause -1 "Hit return to continue"
  326. set noarrow
  327. set nolabel
  328.  
  329. # Poisson PDF using normal approximation
  330. mu = 5.0
  331. sigma = sqrt(mu)
  332. xmin = floor(mu - 4.0 * sigma)
  333. xmin = xmin < 0 ? 0 : xmin
  334. xmax = ceil(mu + 4.0 * sigma)
  335. xinc = ceil((xmax - xmin) / 10)
  336. xinc = xinc > 1 ? xinc : 1
  337. ymax = 1.1 * poisson(mu) #mode of poisson PDF used
  338. set key box
  339. set nozeroaxis
  340. set xrange [xmin - 1 : xmax + 1]
  341. set yrange [0 : ymax]
  342. set xlabel "k, x ->"
  343. set ylabel "probability density ->"
  344. set xtics xmin, xinc, xmax
  345. set ytics 0, ymax / 10.0, ymax
  346. set format x "%2.0f"
  347. set format y "%3.2f"
  348. set sample 200
  349. set title "poisson PDF using normal approximation"
  350. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  351. set arrow from mu + 0.5, normal(mu + sigma) \
  352.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  353. set label "mu" at mu + 1, ymax / 10
  354. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  355. plot poisson(x), normal(x - 0.5)
  356. reset
  357.  
  358.